Skip to content

[docker-pmon] stop passing xcvrd dom_* flags#28306

Draft
aditya-nexthop wants to merge 1 commit into
sonic-net:masterfrom
nexthop-ai:aditya.remove-dom-cli-flags
Draft

[docker-pmon] stop passing xcvrd dom_* flags#28306
aditya-nexthop wants to merge 1 commit into
sonic-net:masterfrom
nexthop-ai:aditya.remove-dom-cli-flags

Conversation

@aditya-nexthop

@aditya-nexthop aditya-nexthop commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Why I did it

HLD Link

Previously, each new xcvrd tunable required threading a new --flag through argparse, the supervisord Jinja2 template, and the DaemonXcvrd constructor. xcvrd now resolves dom_temperature_poll_interval and dom_update_interval itself from the "xcvrd" section of pmon_daemon_control.json (via XcvrdConfig), so the supervisord template no longer needs to read xcvrd.dom_temperature_poll_interval / xcvrd.dom_update_interval and pass them as command-line flags. This removes the coupling between the template and individual xcvrd config keys, so adding future tunables won't require template changes.

Work item tracking
  • Microsoft ADO (number only):

How I did it

Removed the two {% if xcvrd and xcvrd.dom_* %} template blocks from docker-pmon.supervisord.conf.j2 that appended --dom_temperature_poll_interval / --dom_update_interval to the xcvrd command line.

How to verify it

Rendered docker-pmon.supervisord.conf.j2 directly with Jinja2 for both cases: (1) no xcvrd context var defined, and (2) xcvrd dict with dom_temperature_poll_interval/dom_update_interval set. In both cases the generated [program:xcvrd] command= line has no --dom_* flags, confirming removal is safe regardless of pmon_daemon_control.json content. On the xcvrd side, dom_temperature_poll_interval/dom_update_interval are now read from pmon_daemon_control.json directly via XcvrdConfig, exercised by the sonic-xcvrd unit test suite (tests/test_xcvrd_config.py, tests/test_xcvrd.py) in sonic-platform-daemons (sonic-net/sonic-platform-daemons#854, companion change — should be merged together with, or after, this PR since xcvrd no longer accepts these CLI flags once #854 lands).

Which release branch to backport (provide reason below if selected)

  • 202305
  • 202311
  • 202405
  • 202411
  • 202505
  • 202511
  • 202512
  • 202605
  • 202608

Tested branch (Please provide the tested image version)

Description for the changelog

Removed obsolete --dom_temperature_poll_interval/--dom_update_interval CLI flags from the xcvrd supervisord invocation in docker-pmon.supervisord.conf.j2.

Link to config_db schema for YANG module changes

N/A — no YANG/config_db schema changes.

A picture of a cute animal (not mandatory but encouraged)

xcvrd now resolves dom_temperature_poll_interval and dom_update_interval
from the "xcvrd" section of pmon_daemon_control.json via XcvrdConfig
instead of --dom_temperature_poll_interval/--dom_update_interval CLI
flags, so these template blocks are no longer needed.

Signed-off-by: aditya-nexthop <aditya@nexthop.ai>
@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants